package br.com.abelha.manager;

import java.util.Calendar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import br.com.abelha.manager.db.DAOFichaB;
import br.com.abelha.manager.entity.FichaBINT;
import br.com.abelha.manager.entity.Pessoa;
import java.util.ArrayList;
import java.util.List;


public class FichaInt extends Activity {
	
	RadioButton permanece_1 ;
	EditText edit_dt_internacao, edit_dt_internacao_fim, edit_dias_internados, edit_local_internacao;
	private Spinner spinner_causa;
	
	private int year, month, day;
	
	Pessoa pessoa;
	Button salvar, cancelar;
	
	private OnClickListener listenerSalvar = new OnClickListener() {
		public void onClick(View v) {
			
			if(!camposNulosENaoPreenchidos()){
				salvarFichaInternacao();
				AlertDialog.Builder builder = new AlertDialog.Builder(FichaInt.this);
		    	builder.setTitle("PFS");
		    	builder.setMessage("Ficha Internação Salva com sucesso");
		    	builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {  
				      public void onClick(DialogInterface dialog, int which) {  
				       retorneAEscolha();
				    } });
		    	
		    	builder.show();
				
				
			}else{
				exibirMensagem("PFS", "Favor preencher todos os campos");
			}
		}

	};
	private OnClickListener listenerCancelar = new OnClickListener() {
		public void onClick(View v) {
			Intent i = new Intent(FichaInt.this, MenuFichas.class);
	 		startActivity(i);
		}

	};
	
	/* (non-Javadoc)
	 * @see android.app.Activity#onCreate(android.os.Bundle)
	 */
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.fichaint);

		
		pessoa = (Pessoa) getIntent().getSerializableExtra("br.com.abelha.manager.entity.Pessoa");
		

		//private Spinner spinner_causa;
		

		edit_dt_internacao = (EditText) findViewById(R.id_int.edit_dt_internacao);
		edit_dt_internacao_fim = (EditText) findViewById(R.id_int.edit_dt_internacao_fim);
		edit_dias_internados = (EditText) findViewById(R.id_int.edit_dias_internados);
		edit_local_internacao = (EditText) findViewById(R.id_int.edit_local_internacao);
		permanece_1 = (RadioButton) findViewById(R.id_int.permanece_1);
	
		  // Spinner Causa
		spinner_causa = (Spinner) findViewById(R.id_int.spinner_causa);
		ArrayAdapter causaAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, 
				  new String[] {"Pneumonia", "Desidratação", "Abuso de Álcool", "Complicações do Diabetes", "Internação Hospital Psiquiátrico" });
		  spinner_causa.setAdapter(causaAdapter);
		  
		
/*		final Calendar cal = Calendar.getInstance();
		year = cal.get(Calendar.YEAR);
		month = cal.get(Calendar.MONTH);
		day = cal.get(Calendar.DAY_OF_MONTH);
		
		edit_datadose.setText(new StringBuilder().append(day).append('-')
				.append(month + 1).append('-').append(year));*/
		
		salvar = (Button) findViewById(R.id_int.Button_Save);
		cancelar = (Button) findViewById(R.id_int.Button_Cancelar);

		salvar.setOnClickListener(listenerSalvar);
		cancelar.setOnClickListener(listenerCancelar);

		}
	
	public boolean camposNulosENaoPreenchidos(){
		
	
		
		return false;
	}
	
	protected void retorneAEscolha() {
		Intent i = new Intent(FichaInt.this, MenuFichas.class);
 		startActivity(i);
		
	}

	public void exibirMensagem(String titulo, String mensagem){
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    	builder.setTitle(titulo);
    	builder.setMessage(mensagem);
    	builder.setNeutralButton("OK", null);
    	builder.show();
	}

	protected void salvarFichaInternacao() {

		DAOFichaB<FichaBINT> daoFichaB = new DAOFichaB<FichaBINT>(this);
		FichaBINT FichaBINT = new FichaBINT();
		
		try {
			

			FichaBINT.setId_fichaA(pessoa.getId_fichaA());
			FichaBINT.setId_paciente(pessoa.getId());
			
				
			String permanece = "Nao";
			if(permanece_1.isChecked()){
				permanece = "Sim";
			}
			
			FichaBINT.setPermanece(permanece);
			

			FichaBINT.setData_inicio(edit_dt_internacao.getText().toString());				 			

			FichaBINT.setData_fim(edit_dt_internacao_fim.getText().toString());
			
			FichaBINT.setDias_inter(new Integer(edit_dias_internados.getText().toString()));
			
				
			FichaBINT.setLocal(edit_local_internacao.getText().toString());
						
			daoFichaB.delete(FichaBINT);
			daoFichaB.insert(FichaBINT);
			
			
			
		} catch (Throwable e) {
			e.printStackTrace();
		}
		
		
	}

	protected Dialog onCreateDialog(int id) {
		switch (id) {
		case 1:
			return new DatePickerDialog(this, dateListener, year, month, day);

		}
		return null;

	}

	private DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {

		@Override
		public void onDateSet(DatePicker view, int yr, int monthOfYear,
				int dayOfMonth) {
			year = yr;
			month = monthOfYear;
			day = dayOfMonth;
			//updateDate();
		}
	};

/*	private void updateDate() {
		edit_dataconsulta.setText(new StringBuilder().append(day).append('-')
				.append(month + 1).append('-').append(year));

	}*/
	


	
}
